import Vue from 'vue'
import Router from 'vue-router'

// 在开发环境中，不要使用延迟加载，因为延迟加载太多的页面会导致webpack热更新太慢。所以只有在生产中才使用延迟加载;
// detail: https://panjiachen.github.io/vue-element-admin-site/#/lazy-loading

Vue.use(Router)

/* Layout */
import Layout from '../views/layout/Layout'
import userRouter from './modules/user'

/**
* hidden: true                   如果' hidden:true '不会在侧边栏显示(默认为false)
* alwaysShow: true               如果设置为true，将始终显示根菜单，无论它的子路径长度是多少
*                                如果不设alwaysShow，只会有不止一条的路线下的孩子
*                                它将变成嵌套模式，否则不会显示根菜单
* redirect: noredirect           如果“重定向:noredirect”将不会在面包屑中重定向
* name:'router-name'             这个名字是由<keep-alive>(必须设置!!!)
* meta : {
    title: 'title'               名称显示在子菜单和面包屑中(推荐设置)
    icon: 'svg-name'             图标显示在侧边栏，
  }
**/
export const constantRouterMap = [
  { path: '/login', component: () => import('@/views/login/index'), hidden: true },
  { path: '/404', component: () => import('@/views/404'), hidden: true },

  {
    path: '/',
    component: Layout,
    redirect: '/home',
    children: [{
      path: 'home',
      name: 'home',
      component: () => import('@/views/home/index'),
      meta: { title: '首页', icon: 'table' }
    }]
  },
  userRouter,
  { path: '*', redirect: '/404', hidden: true }
]

export default new Router({
  mode: 'history', // 后端支持可开
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRouterMap
})
